// Copyright 2021 by 马万里. All rights reserved.
// 开发团队 ：   鸡中之霸
// 开发人员 ：   马万里
// 开发时间 ：   2021/2/24 18:30
// 文件名称 ：   auth.go
// 工程名称 ：   netpan
// 开发工具 ：   GoLand
//

package handler

import (
	"github.com/gin-gonic/gin"
	util "johnsonsmile.cn/netpan/utils"
	"net/http"
)

// HTTPInterceptor: http请求拦截器
func HTTPInterceptor() gin.HandlerFunc {
	return func(c *gin.Context) {
		username := c.Request.FormValue("username")
		token := c.Request.FormValue("token")
		if len(username) < 3 || !IsTokenValid(token) {
			c.Abort()
			resp := util.NewRespMsg(
				http.StatusForbidden,
				"token无效",
				nil)
			c.JSON(http.StatusOK, resp)
			return
		}
		c.Next()
	}
}
